#include <bits/stdc++.h>
using namespace std;
//https://www.nowcoder.com/practice/bfb2a2b3cdbd4bd6bba0d4dca69aa3f0?tpId=230&tqId=39749&ru=/exam/oj
// int dp[50];
// int main()
// {
//     int n;
//     cin>>n;
//     dp[0]=1;
//     dp[1]=1;
//     for(int i=2;i<=n;i++)
//     {
//         dp[i]=dp[i-1]+dp[i-2];
//     }
//     cout<<dp[n]<<endl;
//     return 0;
// }
//https://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4?tpId=13&tqId=11198&ru=/exam/oj
// class Solution {
//     public:
//         bool IsContinuous(vector<int>& nums) {
//             sort(nums.begin(), nums.end());
//             int zerocount=0;
//             for(int i=0;i<nums.size();i++)
//             {
//                 if(nums[i]==0)zerocount++;
//                 else break;
//             }           
//             for(int i=zerocount+1;i<nums.size();i++)
//             {
//                 if(nums[i]==nums[i-1])return false;
//             } 
            
//             int minv=nums[zerocount+1],maxv=nums.back();
//             if(maxv-minv>4)return false;
//             int val=0;
//             for(int i=zerocount+1;i<nums.size();i++)
//             {
//                 val+=nums[i]-nums[i-1]-1;
//             }
//             return val<=zerocount;
//         }
//     };
//成为顺子的条件一定满足
//1.数组中没有重复元素
//2.max-min<=4
class Solution
{
    public:
        bool hash[14]={0};
        int IsContinuous(vector<int>& nums)
        {
            int maxv=0,minv=14;
            for(auto x:nums)
            {
                if(x)
                {
                    if(hash[x])return false;
                    else
                    {
                        maxv=max(maxv,x);
                        minv=min(minv,x);
                        hash[x]=true;
                    }
                }
            }
            return maxv-minv<=4;
        }
};
int main()
{
    vector<int> a({1,0,0,1,0});
    cout<<Solution().IsContinuous(a);
    return 0;
}
//https://www.nowcoder.com/practice/f51c317e745649c0900996fd3f683aed?tpId=290&tqId=39934&ru=/exam/oj
// int main()
// {
//     int n;cin>>n;
//     string s=to_string(n);
//     string s1;
//     reverse(s.begin(),s.end());
//     int count=0;
//     for(int i=0;i<s.size();i++)
//     {
//         s1+=s[i];
//         count++;
//         if(count%3==0)s1+=',';
//     }
//     reverse(s1.begin(),s1.end());
//     if(s1[0]==',')s1.erase(s1.begin());
//     cout<<s1<<endl;
//     return 0;
// }